from flask import Flask
from models import db, DailyRecord
from datetime import datetime
import os

# 创建Flask应用实例
app = Flask(__name__)

# 配置数据库连接，数据库文件存放在backend目录下
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///health.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

# 绑定app到db实例
db.init_app(app)

# 创建表并插入测试数据
with app.app_context():
    # 创建所有表
    db.create_all()
    
    # 从CSV数据创建测试记录
    # 测试数据1: 基于person_id=1的数据
    record1 = DailyRecord(
        person_id='1',
        date=datetime.strptime('2025-10-28', '%Y-%m-%d').date(),
        activity_score=85.0,  # 根据活动数据估算
        glucose_mean=5.6,  # 来自glucose.csv的第一条记录
        adl=0.95,  # ADL 95分转换为0-1标准化值
        sleep_quality=0.8,  # 睡眠质量8分转换为0-1标准化值
        exercise_freq=0.3,  # 运动频率3次转换为0-1标准化值
        diet_score=0.78  # 饮食评分78分转换为0-1标准化值
    )
    
    # 测试数据2: 基于person_id=2的数据
    record2 = DailyRecord(
        person_id='2',
        date=datetime.strptime('2025-10-29', '%Y-%m-%d').date(),
        activity_score=60.0,  # 根据活动数据估算
        glucose_mean=7.8,  # 来自glucose.csv的第二条记录
        adl=1.0,  # ADL 100分转换为0-1标准化值
        sleep_quality=0.9,  # 睡眠质量9分转换为0-1标准化值
        exercise_freq=0.5,  # 运动频率5次转换为0-1标准化值
        diet_score=0.85  # 饮食评分85分转换为0-1标准化值
    )
    
    # 添加到会话并提交
    db.session.add(record1)
    db.session.add(record2)
    db.session.commit()
    
    print("数据库初始化成功")